package com.chuangjiangx.member.coupon.dao.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class InMbrHasCouponExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public InMbrHasCouponExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("imhc.id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("imhc.id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("imhc.id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("imhc.id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("imhc.id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("imhc.id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("imhc.id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("imhc.id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("imhc.id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("imhc.id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("imhc.id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("imhc.id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMemberIdIsNull() {
            addCriterion("imhc.member_id is null");
            return (Criteria) this;
        }

        public Criteria andMemberIdIsNotNull() {
            addCriterion("imhc.member_id is not null");
            return (Criteria) this;
        }

        public Criteria andMemberIdEqualTo(Long value) {
            addCriterion("imhc.member_id =", value, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdNotEqualTo(Long value) {
            addCriterion("imhc.member_id <>", value, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdGreaterThan(Long value) {
            addCriterion("imhc.member_id >", value, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {
            addCriterion("imhc.member_id >=", value, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdLessThan(Long value) {
            addCriterion("imhc.member_id <", value, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdLessThanOrEqualTo(Long value) {
            addCriterion("imhc.member_id <=", value, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdIn(List<Long> values) {
            addCriterion("imhc.member_id in", values, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdNotIn(List<Long> values) {
            addCriterion("imhc.member_id not in", values, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdBetween(Long value1, Long value2) {
            addCriterion("imhc.member_id between", value1, value2, "memberId");
            return (Criteria) this;
        }

        public Criteria andMemberIdNotBetween(Long value1, Long value2) {
            addCriterion("imhc.member_id not between", value1, value2, "memberId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdIsNull() {
            addCriterion("imhc.mbr_coupon_id is null");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdIsNotNull() {
            addCriterion("imhc.mbr_coupon_id is not null");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdEqualTo(Long value) {
            addCriterion("imhc.mbr_coupon_id =", value, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdNotEqualTo(Long value) {
            addCriterion("imhc.mbr_coupon_id <>", value, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdGreaterThan(Long value) {
            addCriterion("imhc.mbr_coupon_id >", value, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdGreaterThanOrEqualTo(Long value) {
            addCriterion("imhc.mbr_coupon_id >=", value, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdLessThan(Long value) {
            addCriterion("imhc.mbr_coupon_id <", value, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdLessThanOrEqualTo(Long value) {
            addCriterion("imhc.mbr_coupon_id <=", value, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdIn(List<Long> values) {
            addCriterion("imhc.mbr_coupon_id in", values, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdNotIn(List<Long> values) {
            addCriterion("imhc.mbr_coupon_id not in", values, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdBetween(Long value1, Long value2) {
            addCriterion("imhc.mbr_coupon_id between", value1, value2, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andMbrCouponIdNotBetween(Long value1, Long value2) {
            addCriterion("imhc.mbr_coupon_id not between", value1, value2, "mbrCouponId");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeIsNull() {
            addCriterion("imhc.verify_code is null");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeIsNotNull() {
            addCriterion("imhc.verify_code is not null");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeEqualTo(String value) {
            addCriterion("imhc.verify_code =", value, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeNotEqualTo(String value) {
            addCriterion("imhc.verify_code <>", value, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeGreaterThan(String value) {
            addCriterion("imhc.verify_code >", value, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeGreaterThanOrEqualTo(String value) {
            addCriterion("imhc.verify_code >=", value, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeLessThan(String value) {
            addCriterion("imhc.verify_code <", value, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeLessThanOrEqualTo(String value) {
            addCriterion("imhc.verify_code <=", value, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeLike(String value) {
            addCriterion("imhc.verify_code like", value, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeNotLike(String value) {
            addCriterion("imhc.verify_code not like", value, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeIn(List<String> values) {
            addCriterion("imhc.verify_code in", values, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeNotIn(List<String> values) {
            addCriterion("imhc.verify_code not in", values, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeBetween(String value1, String value2) {
            addCriterion("imhc.verify_code between", value1, value2, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyCodeNotBetween(String value1, String value2) {
            addCriterion("imhc.verify_code not between", value1, value2, "verifyCode");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusIsNull() {
            addCriterion("imhc.verify_status is null");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusIsNotNull() {
            addCriterion("imhc.verify_status is not null");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusEqualTo(Integer value) {
            addCriterion("imhc.verify_status =", value, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusNotEqualTo(Integer value) {
            addCriterion("imhc.verify_status <>", value, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusGreaterThan(Integer value) {
            addCriterion("imhc.verify_status >", value, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("imhc.verify_status >=", value, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusLessThan(Integer value) {
            addCriterion("imhc.verify_status <", value, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusLessThanOrEqualTo(Integer value) {
            addCriterion("imhc.verify_status <=", value, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusIn(List<Integer> values) {
            addCriterion("imhc.verify_status in", values, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusNotIn(List<Integer> values) {
            addCriterion("imhc.verify_status not in", values, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusBetween(Integer value1, Integer value2) {
            addCriterion("imhc.verify_status between", value1, value2, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andVerifyStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("imhc.verify_status not between", value1, value2, "verifyStatus");
            return (Criteria) this;
        }

        public Criteria andClaimTimeIsNull() {
            addCriterion("imhc.claim_time is null");
            return (Criteria) this;
        }

        public Criteria andClaimTimeIsNotNull() {
            addCriterion("imhc.claim_time is not null");
            return (Criteria) this;
        }

        public Criteria andClaimTimeEqualTo(Date value) {
            addCriterion("imhc.claim_time =", value, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeNotEqualTo(Date value) {
            addCriterion("imhc.claim_time <>", value, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeGreaterThan(Date value) {
            addCriterion("imhc.claim_time >", value, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("imhc.claim_time >=", value, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeLessThan(Date value) {
            addCriterion("imhc.claim_time <", value, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeLessThanOrEqualTo(Date value) {
            addCriterion("imhc.claim_time <=", value, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeIn(List<Date> values) {
            addCriterion("imhc.claim_time in", values, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeNotIn(List<Date> values) {
            addCriterion("imhc.claim_time not in", values, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeBetween(Date value1, Date value2) {
            addCriterion("imhc.claim_time between", value1, value2, "claimTime");
            return (Criteria) this;
        }

        public Criteria andClaimTimeNotBetween(Date value1, Date value2) {
            addCriterion("imhc.claim_time not between", value1, value2, "claimTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeIsNull() {
            addCriterion("imhc.verify_time is null");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeIsNotNull() {
            addCriterion("imhc.verify_time is not null");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeEqualTo(Date value) {
            addCriterion("imhc.verify_time =", value, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeNotEqualTo(Date value) {
            addCriterion("imhc.verify_time <>", value, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeGreaterThan(Date value) {
            addCriterion("imhc.verify_time >", value, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("imhc.verify_time >=", value, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeLessThan(Date value) {
            addCriterion("imhc.verify_time <", value, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("imhc.verify_time <=", value, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeIn(List<Date> values) {
            addCriterion("imhc.verify_time in", values, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeNotIn(List<Date> values) {
            addCriterion("imhc.verify_time not in", values, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeBetween(Date value1, Date value2) {
            addCriterion("imhc.verify_time between", value1, value2, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andVerifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("imhc.verify_time not between", value1, value2, "verifyTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeIsNull() {
            addCriterion("imhc.use_time is null");
            return (Criteria) this;
        }

        public Criteria andUseTimeIsNotNull() {
            addCriterion("imhc.use_time is not null");
            return (Criteria) this;
        }

        public Criteria andUseTimeEqualTo(Date value) {
            addCriterion("imhc.use_time =", value, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeNotEqualTo(Date value) {
            addCriterion("imhc.use_time <>", value, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeGreaterThan(Date value) {
            addCriterion("imhc.use_time >", value, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("imhc.use_time >=", value, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeLessThan(Date value) {
            addCriterion("imhc.use_time <", value, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeLessThanOrEqualTo(Date value) {
            addCriterion("imhc.use_time <=", value, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeIn(List<Date> values) {
            addCriterion("imhc.use_time in", values, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeNotIn(List<Date> values) {
            addCriterion("imhc.use_time not in", values, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeBetween(Date value1, Date value2) {
            addCriterion("imhc.use_time between", value1, value2, "useTime");
            return (Criteria) this;
        }

        public Criteria andUseTimeNotBetween(Date value1, Date value2) {
            addCriterion("imhc.use_time not between", value1, value2, "useTime");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdIsNull() {
            addCriterion("imhc.verify_store_id is null");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdIsNotNull() {
            addCriterion("imhc.verify_store_id is not null");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdEqualTo(Long value) {
            addCriterion("imhc.verify_store_id =", value, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdNotEqualTo(Long value) {
            addCriterion("imhc.verify_store_id <>", value, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdGreaterThan(Long value) {
            addCriterion("imhc.verify_store_id >", value, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdGreaterThanOrEqualTo(Long value) {
            addCriterion("imhc.verify_store_id >=", value, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdLessThan(Long value) {
            addCriterion("imhc.verify_store_id <", value, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdLessThanOrEqualTo(Long value) {
            addCriterion("imhc.verify_store_id <=", value, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdIn(List<Long> values) {
            addCriterion("imhc.verify_store_id in", values, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdNotIn(List<Long> values) {
            addCriterion("imhc.verify_store_id not in", values, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdBetween(Long value1, Long value2) {
            addCriterion("imhc.verify_store_id between", value1, value2, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreIdNotBetween(Long value1, Long value2) {
            addCriterion("imhc.verify_store_id not between", value1, value2, "verifyStoreId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdIsNull() {
            addCriterion("imhc.verify_store_user_id is null");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdIsNotNull() {
            addCriterion("imhc.verify_store_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdEqualTo(Long value) {
            addCriterion("imhc.verify_store_user_id =", value, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdNotEqualTo(Long value) {
            addCriterion("imhc.verify_store_user_id <>", value, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdGreaterThan(Long value) {
            addCriterion("imhc.verify_store_user_id >", value, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("imhc.verify_store_user_id >=", value, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdLessThan(Long value) {
            addCriterion("imhc.verify_store_user_id <", value, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdLessThanOrEqualTo(Long value) {
            addCriterion("imhc.verify_store_user_id <=", value, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdIn(List<Long> values) {
            addCriterion("imhc.verify_store_user_id in", values, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdNotIn(List<Long> values) {
            addCriterion("imhc.verify_store_user_id not in", values, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdBetween(Long value1, Long value2) {
            addCriterion("imhc.verify_store_user_id between", value1, value2, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyStoreUserIdNotBetween(Long value1, Long value2) {
            addCriterion("imhc.verify_store_user_id not between", value1, value2, "verifyStoreUserId");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalIsNull() {
            addCriterion("imhc.verify_terminal is null");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalIsNotNull() {
            addCriterion("imhc.verify_terminal is not null");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalEqualTo(Integer value) {
            addCriterion("imhc.verify_terminal =", value, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalNotEqualTo(Integer value) {
            addCriterion("imhc.verify_terminal <>", value, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalGreaterThan(Integer value) {
            addCriterion("imhc.verify_terminal >", value, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalGreaterThanOrEqualTo(Integer value) {
            addCriterion("imhc.verify_terminal >=", value, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalLessThan(Integer value) {
            addCriterion("imhc.verify_terminal <", value, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalLessThanOrEqualTo(Integer value) {
            addCriterion("imhc.verify_terminal <=", value, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalIn(List<Integer> values) {
            addCriterion("imhc.verify_terminal in", values, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalNotIn(List<Integer> values) {
            addCriterion("imhc.verify_terminal not in", values, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalBetween(Integer value1, Integer value2) {
            addCriterion("imhc.verify_terminal between", value1, value2, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andVerifyTerminalNotBetween(Integer value1, Integer value2) {
            addCriterion("imhc.verify_terminal not between", value1, value2, "verifyTerminal");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusIsNull() {
            addCriterion("imhc.wx_verify_status is null");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusIsNotNull() {
            addCriterion("imhc.wx_verify_status is not null");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusEqualTo(Integer value) {
            addCriterion("imhc.wx_verify_status =", value, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusNotEqualTo(Integer value) {
            addCriterion("imhc.wx_verify_status <>", value, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusGreaterThan(Integer value) {
            addCriterion("imhc.wx_verify_status >", value, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("imhc.wx_verify_status >=", value, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusLessThan(Integer value) {
            addCriterion("imhc.wx_verify_status <", value, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusLessThanOrEqualTo(Integer value) {
            addCriterion("imhc.wx_verify_status <=", value, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusIn(List<Integer> values) {
            addCriterion("imhc.wx_verify_status in", values, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusNotIn(List<Integer> values) {
            addCriterion("imhc.wx_verify_status not in", values, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusBetween(Integer value1, Integer value2) {
            addCriterion("imhc.wx_verify_status between", value1, value2, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxVerifyStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("imhc.wx_verify_status not between", value1, value2, "wxVerifyStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusIsNull() {
            addCriterion("imhc.wx_sync_status is null");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusIsNotNull() {
            addCriterion("imhc.wx_sync_status is not null");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusEqualTo(Integer value) {
            addCriterion("imhc.wx_sync_status =", value, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusNotEqualTo(Integer value) {
            addCriterion("imhc.wx_sync_status <>", value, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusGreaterThan(Integer value) {
            addCriterion("imhc.wx_sync_status >", value, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("imhc.wx_sync_status >=", value, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusLessThan(Integer value) {
            addCriterion("imhc.wx_sync_status <", value, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusLessThanOrEqualTo(Integer value) {
            addCriterion("imhc.wx_sync_status <=", value, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusIn(List<Integer> values) {
            addCriterion("imhc.wx_sync_status in", values, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusNotIn(List<Integer> values) {
            addCriterion("imhc.wx_sync_status not in", values, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusBetween(Integer value1, Integer value2) {
            addCriterion("imhc.wx_sync_status between", value1, value2, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andWxSyncStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("imhc.wx_sync_status not between", value1, value2, "wxSyncStatus");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("imhc.create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("imhc.create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("imhc.create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("imhc.create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("imhc.create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("imhc.create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("imhc.create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("imhc.create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("imhc.create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("imhc.create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("imhc.create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("imhc.create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("imhc.update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("imhc.update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("imhc.update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("imhc.update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("imhc.update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("imhc.update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("imhc.update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("imhc.update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("imhc.update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("imhc.update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("imhc.update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("imhc.update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}